package org.jeecgframework.web.system.pojo.base;

import java.math.BigDecimal;
import java.util.Date;
import java.lang.String;
import java.lang.Double;
import java.lang.Integer;
import java.math.BigDecimal;
import javax.persistence.*;
import javax.xml.soap.Text;
import java.sql.Blob;

import org.codehaus.jackson.annotate.JsonIgnore;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.NotFound;
import org.hibernate.annotations.NotFoundAction;
import org.jeecgframework.poi.excel.annotation.Excel;

/**   
 * @Title: Entity
 * @Description: 现场服务完工备件使用情况
 * @author onlineGenerator
 * @date 2018-03-13 17:18:25
 * @version V1.0   
 *
 */
@Entity
@Table(name = "cbs_scene_equipment_use", schema = "")
@SuppressWarnings("serial")
public class CbsSceneEquipmentUseEntity implements java.io.Serializable {
	/**主键*/
	private String id;
	/**现场服务完工单ID*/
	@Excel(name="现场服务完工单ID")
	private CbsServiceReportEntity sceneReportId;
	/**备件类型ID*/
	@Excel(name="备件类型ID")
	private ZyEquipmentTypeEntity typeId;

	/**备件类型名称*/
	@Excel(name="备件类型名称")
	private ZyEquipmentTypeEntity typeDes;
	/**新备件号ID*/
	@Excel(name="新备件号ID")
	private ZyEsItemEntity itemId;
	/**新备件序列号*/
	@Excel(name="新备件序列号")
	private String sn;
	/**新备件二维码*/
	@Excel(name="新备件二维码")
	private String equipmentErcode;

	/**故障备件类型名称*/
	@Excel(name="故障备件类型名称")
	private ZyEquipmentTypeEntity oldTypeDes;
	/**故障备件号*/
	@Excel(name="故障备件号")
	private ZyEsItemEntity oldItemId;
	/**故障旧备件序列号*/
	@Excel(name="旧备件序列号")
	private String oldSn;
	/**故障旧备件二维码*/
	@Excel(name="旧备件二维码")
	private String oldErcode;

	/**创建人名称*/
	private String createName;
	/**创建人登录名称*/
	private String createBy;
	/**创建日期*/
	private Date createDate;
	/**更新人名称*/
	private String updateName;
	/**更新人登录名称*/
	private String updateBy;
	/**更新日期*/
	private Date updateDate;

//	@JsonIgnore
	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "old_TYPE_ID")
	@NotFound(action = NotFoundAction.IGNORE)
	public ZyEquipmentTypeEntity getOldTypeDes() {
		return oldTypeDes;
	}

	public void setOldTypeDes(ZyEquipmentTypeEntity oldTypeDes) {
		this.oldTypeDes = oldTypeDes;
	}

//	@JsonIgnore
	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "old_ITEM_ID")
	@NotFound(action = NotFoundAction.IGNORE)
	public ZyEsItemEntity getOldItemId() {
		return oldItemId;
	}

	public void setOldItemId(ZyEsItemEntity oldItemId) {
		this.oldItemId = oldItemId;
	}

	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  主键
	 */
	@Id
	@GeneratedValue(generator = "paymentableGenerator")
	@GenericGenerator(name = "paymentableGenerator", strategy = "uuid")
	@Column(name ="ID",nullable=false,length=36)
	public String getId(){
		return this.id;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  主键
	 */
	public void setId(String id){
		this.id = id;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  现场服务完工单ID
	 */
//    @JsonIgnore
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "SCENE_REPORT_ID")
    @NotFound(action = NotFoundAction.IGNORE)
	public CbsServiceReportEntity getSceneReportId(){
		return this.sceneReportId;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  现场服务完工单ID
	 */
	public void setSceneReportId(CbsServiceReportEntity sceneReportId){
		this.sceneReportId = sceneReportId;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  备件类型ID
	 */
    @JsonIgnore
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "TYPE_ID")
    @NotFound(action = NotFoundAction.IGNORE)
	public ZyEquipmentTypeEntity getTypeId(){
		return this.typeId;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  备件类型ID
	 */
	public void setTypeId(ZyEquipmentTypeEntity typeId){
		this.typeId = typeId;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  备件类型名称
	 */
//    @JsonIgnore
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "TYPE_DES")
    @NotFound(action = NotFoundAction.IGNORE)
	public ZyEquipmentTypeEntity getTypeDes(){
		return this.typeDes;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  备件类型名称
	 */
	public void setTypeDes(ZyEquipmentTypeEntity typeDes){
		this.typeDes = typeDes;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  新备件序列号
	 */
	@Column(name ="SN",nullable=true,length=32)
	public String getSn(){
		return this.sn;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  新备件序列号
	 */
	public void setSn(String sn){
		this.sn = sn;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  新备件二维码
	 */
	@Column(name ="EQUIPMENT_ERCODE",nullable=true,length=32)
	public String getEquipmentErcode(){
		return this.equipmentErcode;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  新备件二维码
	 */
	public void setEquipmentErcode(String equipmentErcode){
		this.equipmentErcode = equipmentErcode;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  新备件号ID
	 */
//    @JsonIgnore
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "ITEM_ID")
    @NotFound(action = NotFoundAction.IGNORE)
	public ZyEsItemEntity getItemId(){
		return this.itemId;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  新备件号ID
	 */
	public void setItemId(ZyEsItemEntity itemId){
		this.itemId = itemId;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  旧备件序列号
	 */
	@Column(name ="OLD_SN",nullable=true,length=32)
	public String getOldSn(){
		return this.oldSn;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  旧备件序列号
	 */
	public void setOldSn(String oldSn){
		this.oldSn = oldSn;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  旧备件二维码
	 */
	@Column(name ="OLD_ERCODE",nullable=true,length=32)
	public String getOldErcode(){
		return this.oldErcode;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  旧备件二维码
	 */
	public void setOldErcode(String oldErcode){
		this.oldErcode = oldErcode;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  创建人名称
	 */
	@Column(name ="CREATE_NAME",nullable=true,length=50)
	public String getCreateName(){
		return this.createName;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  创建人名称
	 */
	public void setCreateName(String createName){
		this.createName = createName;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  创建人登录名称
	 */
	@Column(name ="CREATE_BY",nullable=true,length=50)
	public String getCreateBy(){
		return this.createBy;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  创建人登录名称
	 */
	public void setCreateBy(String createBy){
		this.createBy = createBy;
	}
	/**
	 *方法: 取得java.util.Date
	 *@return: java.util.Date  创建日期
	 */
	@Column(name ="CREATE_DATE",nullable=true,length=20)
	public Date getCreateDate(){
		return this.createDate;
	}

	/**
	 *方法: 设置java.util.Date
	 *@param: java.util.Date  创建日期
	 */
	public void setCreateDate(Date createDate){
		this.createDate = createDate;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  更新人名称
	 */
	@Column(name ="UPDATE_NAME",nullable=true,length=50)
	public String getUpdateName(){
		return this.updateName;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  更新人名称
	 */
	public void setUpdateName(String updateName){
		this.updateName = updateName;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  更新人登录名称
	 */
	@Column(name ="UPDATE_BY",nullable=true,length=50)
	public String getUpdateBy(){
		return this.updateBy;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  更新人登录名称
	 */
	public void setUpdateBy(String updateBy){
		this.updateBy = updateBy;
	}
	/**
	 *方法: 取得java.util.Date
	 *@return: java.util.Date  更新日期
	 */
	@Column(name ="UPDATE_DATE",nullable=true,length=20)
	public Date getUpdateDate(){
		return this.updateDate;
	}

	/**
	 *方法: 设置java.util.Date
	 *@param: java.util.Date  更新日期
	 */
	public void setUpdateDate(Date updateDate){
		this.updateDate = updateDate;
	}
}
